/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package beans;

import bc.AnioLectivoFacadeLocal;
import be.AnioLectivo;
import java.io.Serializable;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

/**
 *
 * Sistema de Control Acádemico (saca) creado por Buñay Paulo
 */
@SessionScoped
@ManagedBean
public class ManagedBeanAnioLectivo implements Serializable{
    @EJB
    private AnioLectivoFacadeLocal anioLectivoFacade;

    private AnioLectivo anio_lectivo;
    private List<AnioLectivo> lista;
   
    private List<SelectItem> anioslectivosItems = new LinkedList<SelectItem>();
    private HashMap<Integer, AnioLectivo> myanioslectivos = new HashMap<Integer,AnioLectivo>();
    
    
    public ManagedBeanAnioLectivo() {
        anio_lectivo = new AnioLectivo();
        lista = new LinkedList<AnioLectivo>();
        
    }

    public AnioLectivo getAnio_lectivo() {
        return anio_lectivo;
    }

    public void setAnio_lectivo(AnioLectivo anio_lectivo) {
        this.anio_lectivo = anio_lectivo;
    }

    public List<AnioLectivo> getLista() {
        
        try {
          lista =   anioLectivoFacade.findAll();
          // filtrarlo por estados
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        return lista;
    }

    public void setLista(List<AnioLectivo> lista) {
        this.lista = lista;
    }

    public String nuevo(){
    
        anio_lectivo = new AnioLectivo();
        return "nuevo_anio_lectivo";
    
    }

    public List<SelectItem> getAnioslectivosItems() {
           lista = new LinkedList<AnioLectivo>();
       anioslectivosItems = new LinkedList<SelectItem>();
        lista = anioLectivoFacade.findAll();
        for(AnioLectivo p: lista){
       myanioslectivos.put(p.getIdAnioLectivo(), p);
            anioslectivosItems.add(new SelectItem(p, p.getNombreAnioLectivo()));
        }
        return anioslectivosItems;
    }

    public void setAnioslectivosItems(List<SelectItem> anioslectivosItems) {
        this.anioslectivosItems = anioslectivosItems;
    }

    public HashMap<Integer, AnioLectivo> getMyanioslectivos() {
        return myanioslectivos;
    }

    public void setMyanioslectivos(HashMap<Integer, AnioLectivo> myanioslectivos) {
        this.myanioslectivos = myanioslectivos;
    }
    
    public AnioLectivo getAnioLectivo(Integer id) {
           return (AnioLectivo) myanioslectivos.get(id);

    }
    
    
     public void llenar_myAnios(){
    try {
        // Esta Lista Almancera todos los años lectivos
List<AnioLectivo> lista_temporal = anioLectivoFacade.findAll();
        for(AnioLectivo p : lista_temporal){
            // aqui es donde aplicaremos algun filtro mas adeltante
        myanioslectivos.put(p.getIdAnioLectivo(),p);
        }
        // vamos a asignar al primer año lectivo de la lista, para que nos muestre siempre un valor el
        // el combobox
        anio_lectivo= lista_temporal.get(0);
    } catch (Exception e) {
        e.printStackTrace();
    }

}
}
